Computers and servers may incorporate databases to store large amounts of data. It is possible to have multiple databases on one computer, each having a different format. In addition, it is possible, and quite normal, for an enterprise to have multiple computers, each dedicated to a particular database type. For example, one computer might house an ORACLE database management system while another might house a MICROSOFT SQL database management system. In any case, the MICROSOFT Open Database Computing Driver (ODBC) API provides the ability to connect to a variety of client/server and mainframe databases. Connecting to a client/server or mainframe database requires a product-specific ODBC driver written to ODBC specifications. ODBC's goal is to provide seamless access to enterprise data using a single API. This capability is especially important where data may reside in many heterogeneous databases as described above.
ODBC is a widely accepted application programming interface (API) for database access that uses Structured Query Language (SQL) as its database access language. ODBC client software includes a data source component that provides connectivity to a given database engine. Thus ODBC enables applications to construct SQL statements using APIs and allows the applications to connect to a variety of database engines that process the SQL statements.
Printers have recently been manufactured with embedded web servers that enable the printer to be accessed over the Internet. A web server provides an environment in which web programs can be executed. The output of these programs can then be displayed on a web browser for use by the printer's user/operator. The web server is considered to be embedded when it resides in a hardware device's firmware instead of as software that is loaded on a client computer or network server.
A printer or other hardware device that has an embedded server typically also incorporates some type of Virtual Machine (VM) that provides an execution environment for programs that make use of industry standard Application Programming Interfaces (APIs). HEWLETT-PACKARD'S CHAIVM and SUN MICROSYSTEM'S JAVA Virtual Machines are two examples of such an execution environment. Both technologies enable servers to run JAVA applications on practically any platform.
The printer with the embedded server acts substantially like a computer on the Internet. The printer, through the web server, can receive HyperText Transfer Protocol (HTTP) commands from over the Internet and send HyperText Markup Language (HTML) content back to the requester. Depending upon the printer's network configuration, users can access the printer's web server via the Internet or via an intranet that is separated from the Internet with a firewall. In the case of HEWLETT-PACKARD's printers, providing web pages for user access is accomplished through the printer's embedded WEBSERVER application, CHAISERVER, which is a JAVA application that is executed by the CHAIVM.
One problem with databases is that the same information may have to be entered into multiple databases at different times. For example, when a patient enters a hospital to be admitted, the patient fills out a patient information sheet. This information has to be manually entered into the hospital databases. Also, if the patient goes from one department to another in the hospital, the same or additional information must be entered into separate databases in order to be printed in those departments. This requires personnel and time to enter the data each time, thus costing the patient money.
For the reasons stated above, and for other reasons stated below that will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for printing systems to communicate with databases.